#ifndef _GCVT_H_
#define _GCVT_H_
//This file is used to implement the cvt based on geodesics


class GCVT
{
public:
	GCVT (Mesh & mesh, unsigned num_voronoi_cell);
	//Only return the one neighbor currently

	void adjust_position();
private:
	void k1_neighbor (const Mesh::Point & point, Mesh::Point & neighbor);
	void geodesics(const Mesh::Point & point, const Mesh::FaceHandle fh, std::list<Mesh::Point> & path, std::vector<Mesh::FaceHandle> & face_record);

private:
	Mesh mesh;

};

#endif
